package com.yanqu.road.entity.xiaomian;

import com.alibaba.fastjson.JSON;
import com.yanqu.road.entity.DataObject;

public class UserXiaoMianData extends DataObject{
    private long userId;                    //玩家编号
    private long resetTime;                //变更时间
    private long patronsUpgradeTimes;       //门客升级次数
    private long beautyTrystTimes;          //美女传唤次数
    private long childTrainTimes;           //子嗣培养次数
    private long innCookTimes;              //客栈烹饪次数
    private long marriageTimes;             //联姻次数
    private long banquetScore;              //宴会积分
    private long clinicReception;           //医馆接待病人数
    private long wineShopCallNumber;        //酒肆叫号
    private long ingotsConsume;             //元宝消耗
    private PlatformDailyData dailyData = new PlatformDailyData();    //每日数据

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
            setUpdateOption();
        }
    }

    public long getResetTime() {
        return resetTime;
    }

    public void setResetTime(long resetTime) {
        if(this.resetTime != resetTime) {
            this.resetTime = resetTime;
            setUpdateOption();
        }
    }

    public long getPatronsUpgradeTimes() {
        return patronsUpgradeTimes;
    }

    public void setPatronsUpgradeTimes(long patronsUpgradeTimes) {
        if(this.patronsUpgradeTimes != patronsUpgradeTimes) {
            this.patronsUpgradeTimes = patronsUpgradeTimes;
            setUpdateOption();
        }
    }

    public long getBeautyTrystTimes() {
        return beautyTrystTimes;
    }

    public void setBeautyTrystTimes(long beautyTrystTimes) {
        if(this.beautyTrystTimes != beautyTrystTimes) {
            this.beautyTrystTimes = beautyTrystTimes;
            setUpdateOption();
        }
    }

    public long getChildTrainTimes() {
        return childTrainTimes;
    }

    public void setChildTrainTimes(long childTrainTimes) {
        if(this.childTrainTimes != childTrainTimes) {
            this.childTrainTimes = childTrainTimes;
            setUpdateOption();
        }
    }

    public long getInnCookTimes() {
        return innCookTimes;
    }

    public void setInnCookTimes(long innCookTimes) {
        if(this.innCookTimes != innCookTimes) {
            this.innCookTimes = innCookTimes;
            setUpdateOption();
        }
    }

    public long getMarriageTimes() {
        return marriageTimes;
    }

    public void setMarriageTimes(long marriageTimes) {
        if(this.marriageTimes != marriageTimes) {
            this.marriageTimes = marriageTimes;
            setUpdateOption();
        }
    }

    public long getBanquetScore() {
        return banquetScore;
    }

    public void setBanquetScore(long banquetScore) {
        if(this.banquetScore != banquetScore) {
            this.banquetScore = banquetScore;
            setUpdateOption();
        }
    }

    public long getClinicReception() {
        return clinicReception;
    }

    public void setClinicReception(long clinicReception) {
        if(this.clinicReception != clinicReception) {
            this.clinicReception = clinicReception;
            setUpdateOption();
        }
    }

    public long getWineShopCallNumber() {
        return wineShopCallNumber;
    }

    public void setWineShopCallNumber(long wineShopCallNumber) {
        if(this.wineShopCallNumber != wineShopCallNumber) {
            this.wineShopCallNumber = wineShopCallNumber;
            setUpdateOption();
        }
    }

    public long getIngotsConsume() {
        return ingotsConsume;
    }

    public void setIngotsConsume(long ingotsConsume) {
        if(this.ingotsConsume != ingotsConsume) {
            this.ingotsConsume = ingotsConsume;
            setUpdateOption();
        }
    }

    public void setCrossChatTimes(long crossChatTimes){
        dailyData.setCrossChatTimes(crossChatTimes);
        setUpdateOption();
    }

    public long getCrossChatTimes(){
        if(null != dailyData){
            return dailyData.getCrossChatTimes();
        }
        return 0;
    }

    public long getGrandChildCount() {
        if(null != dailyData){
            return dailyData.getGrandChildCount();
        }
        return 0;
    }

    public void setGrandChildCount(long grandChildCount) {
        dailyData.setGrandChildCount(grandChildCount);
        setUpdateOption();
    }

    public long getDrugStorePublicityTimes() {
        if(null != dailyData){
            return dailyData.getDrugStorePublicityTimes();
        }
        return 0;
    }

    public void setDrugStorePublicityTimes(long drugStorePublicityTimes) {
        dailyData.setDrugStorePublicityTimes(drugStorePublicityTimes);
        setUpdateOption();
    }

    public long getWineryMakeTimes() {
        if(null != dailyData){
            return dailyData.getWineryMakeTimes();
        }
        return 0;
    }

    public void setWineryMakeTimes(long wineryMakeTimes) {
        dailyData.setWineryMakeTimes(wineryMakeTimes);
        setUpdateOption();
    }

    public long getDrugStoreBusinessTimes() {
        if(null != dailyData){
            return dailyData.getDrugStoreBusinessTimes();
        }
        return 0;
    }

    public void setDrugStoreBusinessTimes(long drugStoreBusinessTimes) {
        dailyData.setDrugStoreBusinessTimes(drugStoreBusinessTimes);
        setUpdateOption();
    }

    public long getGiveLikeTimes() {
        if(null != dailyData){
            return dailyData.getGiveLikeTimes();
        }
        return 0;
    }

    public void setGiveLikeTimes(long giveLikeTimes) {
        dailyData.setGiveLikeTimes(giveLikeTimes);
        setUpdateOption();
    }

    public long getPassRoadBossBattleTimes() {
        if(null != dailyData){
            return dailyData.getPassRoadBossBattleTimes();
        }
        return 0;
    }

    public void setPassRoadBossBattleTimes(long passRoadBossBattleTimes) {
        dailyData.setPassRoadBossBattleTimes(passRoadBossBattleTimes);
        setUpdateOption();
    }

    public long getTradeWarKillPatronsCount() {
        if(null != dailyData){
            return dailyData.getTradeWarKillPatronsCount();
        }
        return 0;
    }

    public void setTradeWarKillPatronsCount(long tradeWarKillPatronsCount) {
        dailyData.setTradeWarKillPatronsCount(tradeWarKillPatronsCount);
        setUpdateOption();
    }

    public long getJoinWaSheTimes() {
        if(null != dailyData){
            return dailyData.getJoinWaSheTimes();
        }
        return 0;
    }

    public void setJoinWaSheTimes(long joinWaSheTimes) {
        dailyData.setJoinWaSheTimes(joinWaSheTimes);
        setUpdateOption();
    }

    public long getUnionBargainTimes() {
        if(null != dailyData){
            return dailyData.getUnionBargainTimes();
        }
        return 0;
    }

    public void setUnionBargainTimes(long unionBargainTimes) {
        dailyData.setUnionBargainTimes(unionBargainTimes);
        setUpdateOption();
    }

    //慎用，不要直接拿对象去操作
    public PlatformDailyData getDailyData() {
        return dailyData;
    }

    public String getDailyDataJsonStr(){
        if(null == dailyData){
            return "{}";
        }else {
            return JSON.toJSONString(dailyData);
        }
    }

    public void setDailyData(PlatformDailyData dailyData) {
        this.dailyData = dailyData;
        setUpdateOption();
    }

    public void resetValue(){
        setBanquetScore(0);
        setMarriageTimes(0);
        setInnCookTimes(0);
        setChildTrainTimes(0);
        setBeautyTrystTimes(0);
        setPatronsUpgradeTimes(0);
        setClinicReception(0);
        setWineShopCallNumber(0);
        setIngotsConsume(0);
        dailyData.resetValue();
        setUpdateOption();
    }
}
